<HTML><HEAD><TITLE>notify_constrained(?Var)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">Advanced Control and Suspensions</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>notify_constrained(?Var)</H1>
Notify the system that the given variable was constrained
<DL>
<DT><EM>Var</EM></DT>
<DD>A variable or any term
</DD>
</DL>
<H2>Description</H2>
<P>   When an extension package recognizes that new constraints have been
   imposed on a particular attributed variable, it must notify the system
   about it, so that other packages (e.g.  Propia) or system primitives
   (e.g.  guards) can deliver proper results.
   </P><P>
   The operational semantics is that the 'constrained' suspension list
   of the given variable will be scheduled for waking.  After calling
   notify_constrained/1 (and possibly after scheduling further suspension
   lists in one go) a call to wake/0 must be made in order to actually
   execute the scheduled suspensions.
   </P><P>
   Although notify_constrained/1 can safely be called with a simple variable
   or nonvariable argument, doing so has no effect and will simply succeed.
   </P>

<H3>Modes and Determinism</H3><UL>
<LI>notify_constrained(?) is det
</UL>
<H2>See Also</H2>
<A HREF="../../kernel/suspensions/wake-0.html">wake / 0</A>
</BODY></HTML>
